// babel 配置
const option = {
  presets: ["module:metro-react-native-babel-preset"],
  plugins: [
    // 路径别名插件
    [
      "module-resolver",
      {
        root: ["./src"],
        extensions: [".ios.js", ".android.js", ".js", ".ts", ".tsx", ".json"],
        alias: {
          tests: ["./tests/"],
          "@": ["./src"],
        }
      }
    ]
  ]
}

module.exports = api => {
  api.cache(true);

  // 生产环境
  if (process.env.NODE_ENV === "production" || process.env.BABEL_ENV === "production") {
    option.plugins.push(
      // 删除 console.* 语句 插件
      [
        "transform-remove-console",
        {
          exclude: ["error", "warn"]
        }
      ],
    )
  }
  return option;
}